We study a novel and important communication pattern in large-scale model-parallel deep learning (DL), which we call cross-mesh resharding. This pattern emerges when the two paradigms of model parallelism - intra-operator and inter-operator parallelism - are combined to support large models on large clusters. In cross-mesh resharding, a sharded tensor needs to be sent from a source device mesh to a destination device mesh, on which the tensor may be distributed with the same or different layouts. We formalize this as a many-to-many multicast communication problem, and show that existing approaches either are sub-optimal or do not generalize to different network topologies or tensor layouts, which result from different model architectures and parallelism strategies. We then propose two contributions to address cross-mesh resharding: an efficient broadcast-based communication system, and an "overlapping-friendly" pipeline schedule. On microbenchmarks, our overall system outperforms existing ones by up to 10x across various tensor and mesh layouts. On end-to-end training of two large models, GPT-3 and U-Transformer, we improve throughput by 10% and 50%, respectively.
translated by 谷歌翻译
有效的视觉在延迟预算下的精度最大化。这些作品一次评估脱机准确性,一次是一张图像。但是,诸如自动驾驶之类的实时视觉应用在流媒体设置中运行,在这些设置中,地面真相在推理开始和终点之间会发生变化。这会导致明显的准确性下降。因此,最近提出的一项旨在最大程度地提高流媒体设置准确性的工作。在本文中,我们建议在每个环境环境中最大化流的准确性。我们认为场景难度会影响初始(离线)精度差异,而场景中的障碍物位移会影响后续的准确性降解。我们的方法章鱼使用这些方案属性来选择在测试时最大化流量准确性的配置。我们的方法将跟踪性能(S-MOTA)提高了7.4%,而常规静态方法则提高了。此外,使用我们的方法提高性能,而不是离线准确性的进步,而不是代替而不是进步。
translated by 谷歌翻译
手机等边缘设备上的微调模型将对敏感数据实现隐私的个性化。但是,在历史上,Edge训练仅限于具有简单体系结构的相对较小的模型,因为训练既是记忆力和能量密集型的。我们提出了诗人,这是一种算法,可以在存储器筛分的边缘设备上训练大型神经网络。诗人共同优化了重新布置和分页的综合搜索搜索空间,这两种算法可减少返回传播的记忆消耗。鉴于记忆预算和运行时间的限制,我们制定了一项混合成员线性计划(MILP),以进行最佳培训。我们的方法使培训能够在嵌入式设备上显着更大的模型,同时减少能源消耗,同时不修改反向传播的数学正确性。我们证明,可以在皮质类嵌入式设备的内存约束中微调RESNET-18和BERT,同时在能源效率方面的当前边缘训练方法的表现。诗人是一个开源项目,网址为https://github.com/shishirpatil/poet
translated by 谷歌翻译
科学家越来越依靠Python工具使用丰富的,类似于Numpy的表达式执行可扩展的分布式内存阵列操作。但是,这些工具中的许多工具都依赖于针对抽象任务图进行了优化的动态调度程序,这些调度图通常遇到内存和网络带宽相关的瓶颈,这是由于亚最佳数据和操作员的放置决策。在消息传递接口(MPI)(例如Scalapack和Slate)上构建的工具具有更好的缩放属性,但是这些解决方案需要使用专门的知识。在这项工作中,我们提出了NUMS,这是一个数组编程库,可在基于任务的分布式系统上优化类似Numpy的表达式。这是通过称为负载模拟层次调度(LSHS)的新型调度程序来实现的。 LSHS是一种本地搜索方法,可通过最大程度地减少分布式系统中任何给定节点上的最大内存和网络加载来优化操作员放置。再加上用于负载平衡数据布局的启发式,我们的方法能够在某些常见的数值操作上达到通信下限,我们的经验研究表明,LSHS通过减少2倍的降低2倍来增强RAR上的性能,需要减少4倍的内存, ,在逻辑回归问题上减少10倍的执行时间。在Terabyte尺度数据上,NUMS在DGEMM上实现了竞争性能,与Dask ML和Spark的Mllib相比,在键盘分解的密钥操作中,DASK高达20倍的速度以及logistic回归的2倍加速。
translated by 谷歌翻译
ALPA通过生成统一数据,操作员和管道并行性的执行计划来自动对大型深度学习(DL)模型的模型平行训练。现有的模型并行训练系统要求用户手动创建并行化计划,或者自动从有限的模型并行性配置中生成一个计划。它们不足以在分布式计算设备上扩展复杂的DL模型。 ALPA通过将并行性视为两个层次级别来分配大型DL模型的训练:操作员和操作员并行性。基于它,ALPA构建了一个新的分层空间,用于大规模的模型并行执行计划。 ALPA设计了许多汇编,以在每个并行性级别自动得出有效的并行执行计划。 ALPA实现了有效的运行时,以在分布式计算设备上协调两级并行执行。我们的评估表明,ALPA生成的并行化计划,即使在其设计的型号上,也可以匹配或超过手动模型并联训练系统。与专业系统不同,ALPA还推广到具有异质体系结构和模型的模型,而没有手动设计的计划。 ALPA的源代码可在https://github.com/alpa-projects/alpa上公开获得
translated by 谷歌翻译
查询优化器是每个数据库系统中的性能关键组件。由于它们的复杂性,优化仪参加专家月份才能编写和多年来优化。在这项工作中,我们首次演示了在不从专家优化器中学习而不学习的情况下进行优化查询是可能的,有效的。我们展示了Balsa,这是一个由深度加强学习建造的查询优化器。Balsa首先从简单的环境不可行的模拟器中了解基本知识,然后在真实执行中安全学习。在加入秩序基准测试中,Balsa符合两个专家查询优化器的性能,包括两个小时的学习,并且在几个小时后占工作负载运行时最多2.8美元\ times $。因此,Balsa打开了自动学习在未来的计算环境中优化的可能性,其中专家设计的优化仪不存在。
translated by 谷歌翻译
安全探索对于使用风险敏感环境中的强化学习(RL)至关重要。最近的工作了解衡量违反限制概率的风险措施,然后可以使用安全性来实现安全性。然而,学习这种风险措施需要与环境的重大互动,从而在学习期间违反违规程度过多。此外,这些措施不易转移到新环境。我们将安全探索作为离线Meta RL问题,目的是利用一系列环境中的安全和不安全行为的例子,以快速将学习风险措施与以前看不见的动态的新环境。然后,我们向安全适应(MESA)提出元学习,这是一个荟萃学习安全RL的风险措施的方法。跨5个连续控制域的仿真实验表明,MESA可以从一系列不同的环境中利用脱机数据,以减少未经调整环境中的约束违规,同时保持任务性能。有关代码和补充材料,请参阅https://tinyurl.com/safe-meta-rl。
translated by 谷歌翻译
问题回答模型努力推广到训练模式的新型组成,诸如更长的序列或更复杂的测试结构。目前的端到端模型学习扁平输入嵌入,可以丢失输入语法上下文。先前的方法通过学习置换不变模型来改善泛化,但这些方法不会扩展到更复杂的火车测试分裂。我们提出了接地的图形解码,一种通过与注意机制接地结构化预测来提高语言表示的组成概括的方法。接地使模型能够从输入中保留语法信息,从而显着提高复杂输入的泛化。通过预测包含查询条件的连词的结构化图,我们学习一个组不变的表示,而不会在目标域上做出假设。我们的模型显着优于现有的基础基础上的组成自由BASE问题(CFQ)数据集,这是一个有挑战性的基准,用于有问题的合成概括。此外,我们有效地解决了98%精度的MCD1分体式。
translated by 谷歌翻译
最近的工作通过从上下文重建令牌来了解源代码的上下文表示。对于诸如英语中汇总代码的下游语义理解任务,这些表示应该理想地捕获程序功能。但是,我们表明流行的基于重建的BERT模型对源代码编辑敏感,即使编辑保存语义。我们提出了僵局:一种学习代码功能的对比预训练任务,而不是形成。触发预先训练神经网络,以识别许多不等效的干扰者之间的程序的功能类似的变体。我们使用自动源到源编译器作为数据增强的形式来缩放可扩展这些变体。对比预训练将JavaScript摘要和打字类型推理准确性提高2%至13%。我们还提出了一个新的零拍摄JavaScript代码克隆检测数据集,显示施加均比更强大和语义有意义。就此而言,我们以39%的Auroc在普发的环境中以39%的AUROC倾斜,高达5%的自然代码。
translated by 谷歌翻译
Reinforcement learning (RL) algorithms involve the deep nesting of highly irregular computation patterns, each of which typically exhibits opportunities for distributed computation. We argue for distributing RL components in a composable way by adapting algorithms for top-down hierarchical control, thereby encapsulating parallelism and resource requirements within short-running compute tasks. We demonstrate the benefits of this principle through RLlib: a library that provides scalable software primitives for RL. These primitives enable a broad range of algorithms to be implemented with high performance, scalability, and substantial code reuse. RLlib is available as part of the open source Ray project 1 .
translated by 谷歌翻译